﻿<ResourceDictionary
	xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
	xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"
    xmlns:polarisWindowsControls="clr-namespace:Polaris.Windows.Controls;assembly=Polaris.Ui"
    xmlns:WindowsInput="clr-namespace:WindowsInput;assembly=InputSimulator"
    xmlns:sys="clr-namespace:System;assembly=mscorlib"
>
    <!-- Resource dictionary entries should be defined here. -->
    <LinearGradientBrush x:Key="KeyboardButtonBrush" EndPoint="0.5,1" StartPoint="0.5,0">
        <GradientStop Color="#FFF9F9F9" Offset="0"/>
        <GradientStop Color="#FFD7D7D7" Offset="1"/>
    </LinearGradientBrush>
    <LinearGradientBrush x:Key="KeyboardButtonPressedBrush" EndPoint="0.5,1" StartPoint="0.5,0">
        <GradientStop Color="#FF4673C1" Offset="0"/>
        <GradientStop Color="#FF2D589F" Offset="1"/>
    </LinearGradientBrush>
    
    <BitmapImage x:Key="KeyboardShiftBitmapImage" UriSource="Images/IconKeyboardShift.png" />
    <BitmapImage x:Key="KeyboardThumbBitmapImage" UriSource="Images/IconKeyboardThumb.png" />
    <BitmapImage x:Key="KeyboardHideBitmapImage" UriSource="Images/IconKeyboardHide.png" />

    <BitmapImage x:Key="KeyboardArrowUpBitmapImage" UriSource="Images/IconKeyboardArrowUp.png" />
    <BitmapImage x:Key="KeyboardArrowLeftBitmapImage" UriSource="Images/IconKeyboardArrowLeft.png" />
    <BitmapImage x:Key="KeyboardArrowRightBitmapImage" UriSource="Images/IconKeyboardArrowRight.png" />
    <BitmapImage x:Key="KeyboardArrowDownBitmapImage" UriSource="Images/IconKeyboardArrowDown.png" />

    <Style x:Key="KeyboardButtonStyle" TargetType="{x:Type Button}">
        <Setter Property="Focusable" Value="False" />
        <Setter Property="FontSize" Value="20"/>
        <Setter Property="MinWidth" Value="74"/>
        <Setter Property="MinHeight" Value="62"/>
        <Setter Property="Margin" Value="4"/>
        <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
        <Setter Property="VerticalContentAlignment" Value="Stretch"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type Button}">
                    <Grid x:Name="LayoutRoot">
                        <VisualStateManager.VisualStateGroups>
                            <VisualStateGroup x:Name="CommonStates">
                                <VisualStateGroup.Transitions>
                                    <VisualTransition GeneratedDuration="0:0:0.5"/>
                                    <VisualTransition GeneratedDuration="0:0:0.2" To="MouseOver"/>
                                    <VisualTransition GeneratedDuration="0" To="Pressed"/>
                                </VisualStateGroup.Transitions>
                                <VisualState x:Name="Normal"/>
                                <VisualState x:Name="MouseOver">
                                    <Storyboard>
                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="BoxOver">
                                            <EasingDoubleKeyFrame KeyTime="0" Value="0.3"/>
                                        </DoubleAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="Pressed">
                                    <Storyboard>
                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="BoxPressed">
                                            <EasingDoubleKeyFrame KeyTime="0" Value="0.5"/>
                                        </DoubleAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="Disabled">
                                    <Storyboard>
                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="LayoutRoot">
                                            <EasingDoubleKeyFrame KeyTime="0" Value="0.5"/>
                                        </DoubleAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
                            <VisualStateGroup x:Name="FocusStates">
                                <VisualState x:Name="Unfocused"/>
                                <VisualState x:Name="Focused">
                                    <Storyboard>
                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="BoxFocused">
                                            <EasingDoubleKeyFrame KeyTime="0" Value="0.5"/>
                                        </DoubleAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
                        </VisualStateManager.VisualStateGroups>
                        <Rectangle x:Name="BoxBackground" Opacity="1" RadiusX="5" RadiusY="5">
                            <Rectangle.Fill>
                                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                                    <GradientStop Color="#FFE7E7E7" Offset="0"/>
                                    <GradientStop Color="#FFA3A3A3" Offset="1"/>
                                </LinearGradientBrush>
                            </Rectangle.Fill>
                        </Rectangle>
                        <Rectangle x:Name="BoxOver" Fill="Black" Opacity="0" RadiusX="5" RadiusY="5"/>
                        <Rectangle x:Name="BoxPressed" Fill="Black" Opacity="0" RadiusX="5" RadiusY="5"/>
                        <Rectangle x:Name="BoxFocused" Opacity="0" RadiusX="5" RadiusY="5" Stroke="Black"/>
                        <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Margin="10"/>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <ContentControl  x:Key="EnterButtonGeometry"  >
        <Path Fill="Black" Height="27" Width="23" Stretch="Fill">
            <Path.Data>
                <StreamGeometry>F1M404.0576,415.4819L402.4496,415.4819 402.4496,432.3579 384.3326,432.3579 393.4576,423.2589 391.1076,423.2589 381.1326,433.2329 391.1076,443.2079 393.4576,443.2079 384.3326,434.1079 404.0576,434.1079</StreamGeometry>
            </Path.Data>
        </Path>
    </ContentControl>
    <ContentControl  x:Key="EnterButtonGeometry1"  >
        <Path Fill="Black" Height="27" Width="23" Stretch="Fill">
            <Path.Data>
                <StreamGeometry>F1M404.0576,415.4819L402.4496,415.4819 402.4496,432.3579 384.3326,432.3579 393.4576,423.2589 391.1076,423.2589 381.1326,433.2329 391.1076,443.2079 393.4576,443.2079 384.3326,434.1079 404.0576,434.1079</StreamGeometry>
            </Path.Data>
        </Path>
    </ContentControl>
    <ContentControl  x:Key="EnterButtonGeometry2"  >
        <Path Fill="Black" Height="27" Width="23" Stretch="Fill">
            <Path.Data>
                <StreamGeometry>F1M404.0576,415.4819L402.4496,415.4819 402.4496,432.3579 384.3326,432.3579 393.4576,423.2589 391.1076,423.2589 381.1326,433.2329 391.1076,443.2079 393.4576,443.2079 384.3326,434.1079 404.0576,434.1079</StreamGeometry>
            </Path.Data>
        </Path>
    </ContentControl>

    <Style x:Key="KeyboardSplittedButtonStyle" TargetType="{x:Type Button}" BasedOn="{StaticResource KeyboardButtonStyle}">
        <Setter Property="MinWidth" Value="62"/>
    </Style>

    <Style x:Key="ButtonContent" TargetType="{x:Type ContentControl}">
        <Setter Property="FontFamily" Value="Arial"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type ContentControl}">
                    <Grid>
                        <TextBlock Text="{TemplateBinding Content}" FontSize="30" HorizontalAlignment="Center" VerticalAlignment="Center"/>
                        <TextBlock Text="{TemplateBinding Tag}" FontSize="16"/>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="KeyboardToggleButtonStyle" TargetType="{x:Type ToggleButton}">
        <Setter Property="Focusable" Value="False" />
        <Setter Property="FontSize" Value="20"/>
        <Setter Property="MinWidth" Value="74"/>
        <Setter Property="MinHeight" Value="62"/>
        <Setter Property="Margin" Value="4"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type ToggleButton}">
                    <Grid x:Name="LayoutRoot">
                        <VisualStateManager.VisualStateGroups>
                            <VisualStateGroup x:Name="CommonStates">
                                <VisualStateGroup.Transitions>
                                    <VisualTransition GeneratedDuration="0:0:0.5"/>
                                    <VisualTransition GeneratedDuration="0:0:0.2" To="MouseOver"/>
                                    <VisualTransition GeneratedDuration="0" To="Pressed"/>
                                </VisualStateGroup.Transitions>
                                <VisualState x:Name="Normal"/>
                                <VisualState x:Name="MouseOver">
                                    <Storyboard>
                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="BoxOver">
                                            <EasingDoubleKeyFrame KeyTime="0" Value="0.3"/>
                                        </DoubleAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="Pressed">
                                    <Storyboard>
                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="BoxPressed">
                                            <EasingDoubleKeyFrame KeyTime="0" Value="0.5"/>
                                        </DoubleAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="Disabled">
                                    <Storyboard>
                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="LayoutRoot">
                                            <EasingDoubleKeyFrame KeyTime="0" Value="0.5"/>
                                        </DoubleAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
                            <VisualStateGroup x:Name="FocusStates">
                                <VisualState x:Name="Unfocused"/>
                                <VisualState x:Name="Focused">
                                    <Storyboard>
                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="BoxFocused">
                                            <EasingDoubleKeyFrame KeyTime="0" Value="0.5"/>
                                        </DoubleAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
                            <VisualStateGroup x:Name="CheckStates">
                                <VisualState x:Name="Checked">
                                    <Storyboard>
                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="BoxChecked">
                                            <EasingDoubleKeyFrame KeyTime="0" Value="1"/>
                                        </DoubleAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="Unchecked"/>
                                <VisualState x:Name="Indeterminate"/>
                            </VisualStateGroup>
                        </VisualStateManager.VisualStateGroups>
                        <Rectangle x:Name="BoxBackground" Opacity="1" RadiusX="5" RadiusY="5">
                            <Rectangle.Fill>
                                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                                    <GradientStop Color="#FFE7E7E7" Offset="0"/>
                                    <GradientStop Color="#FFA3A3A3" Offset="1"/>
                                </LinearGradientBrush>
                            </Rectangle.Fill>
                        </Rectangle>
                        <Rectangle x:Name="BoxOver" Fill="Black" Opacity="0" RadiusX="5" RadiusY="5"/>
                        <Rectangle x:Name="BoxPressed" Fill="Black" Opacity="0" RadiusX="5" RadiusY="5"/>
                        <Rectangle x:Name="BoxFocused" Opacity="0" RadiusX="5" RadiusY="5" Stroke="Black"/>
                        <Rectangle x:Name="BoxChecked" Opacity="0" RadiusX="5" RadiusY="5">
                            <Rectangle.Fill>
                                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                                    <GradientStop Color="#FF626262" Offset="0"/>
                                    <GradientStop Color="#FFE7E7E7" Offset="1"/>
                                </LinearGradientBrush>
                            </Rectangle.Fill>
                        </Rectangle>
                        <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Margin="10"/>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>


    <Style x:Key="KeyboardImageToggleButtonStyle" TargetType="{x:Type ToggleButton}">
        <Setter Property="Focusable" Value="False" />
        <Setter Property="FontSize" Value="30"/>
        <Setter Property="MinWidth" Value="74"/>
        <Setter Property="MinHeight" Value="62"/>
        <Setter Property="Margin" Value="4"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type ToggleButton}">
                    <Grid x:Name="LayoutRoot">
                        <VisualStateManager.VisualStateGroups>
                            <VisualStateGroup x:Name="CommonStates">
                                <VisualStateGroup.Transitions>
                                    <VisualTransition GeneratedDuration="0:0:0.5"/>
                                    <VisualTransition GeneratedDuration="0:0:0.2" To="MouseOver"/>
                                    <VisualTransition GeneratedDuration="0" To="Pressed"/>
                                </VisualStateGroup.Transitions>
                                <VisualState x:Name="Normal"/>
                                <VisualState x:Name="MouseOver">
                                    <Storyboard>
                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="BoxOver">
                                            <EasingDoubleKeyFrame KeyTime="0" Value="0.3"/>
                                        </DoubleAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="Pressed">
                                    <Storyboard>
                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="BoxPressed">
                                            <EasingDoubleKeyFrame KeyTime="0" Value="0.5"/>
                                        </DoubleAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="Disabled">
                                    <Storyboard>
                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="LayoutRoot">
                                            <EasingDoubleKeyFrame KeyTime="0" Value="0.5"/>
                                        </DoubleAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
                            <VisualStateGroup x:Name="FocusStates">
                                <VisualState x:Name="Unfocused"/>
                                <VisualState x:Name="Focused">
                                    <Storyboard>
                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="BoxFocused">
                                            <EasingDoubleKeyFrame KeyTime="0" Value="0.5"/>
                                        </DoubleAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
                            <VisualStateGroup x:Name="CheckStates">
                                <VisualState x:Name="Checked">
                                    <Storyboard>
                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="BoxBackground">
                                            <EasingDoubleKeyFrame KeyTime="0" Value="0"/>
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="BoxChecked">
                                            <EasingDoubleKeyFrame KeyTime="0" Value="1"/>
                                        </DoubleAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="Unchecked"/>
                                <VisualState x:Name="Indeterminate"/>
                            </VisualStateGroup>
                        </VisualStateManager.VisualStateGroups>
                        <Rectangle x:Name="BoxBackground" Opacity="1" RadiusX="5" RadiusY="5" Fill="{DynamicResource KeyboardButtonBrush}"/>
                        <Rectangle x:Name="BoxOver" RadiusX="5" RadiusY="5" Opacity="0" Fill="{DynamicResource ButtonPressedGradientBrush}"/>
                        <Rectangle x:Name="BoxPressed" RadiusX="5" RadiusY="5" Opacity="0" Fill="{DynamicResource ButtonPressedGradientBrush}"/>
                        <Rectangle x:Name="BoxFocused" Opacity="0" RadiusX="5" RadiusY="5" Stroke="Black"/>
                        <Rectangle x:Name="BoxChecked" RadiusX="5" RadiusY="5" Opacity="0" Fill="{DynamicResource ButtonPressedGradientBrush}"/>

                        <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Margin="10"/>

                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <!-- overrides keyboard resources -->
    <polarisWindowsControls:VirtualKey x:Key="QuertyKeyboardKeyEsc" DisplayName="esc" KeyCode="{x:Static WindowsInput:VirtualKeyCode.ESCAPE}" />

    <polarisWindowsControls:ShiftSensitiveKey x:Key="QuertyKeyboardKeyTilde" KeyCode="{x:Static WindowsInput:VirtualKeyCode.OEM_3}">
        <polarisWindowsControls:ShiftSensitiveKey.DisplayName>
            <ContentControl Content="'"  Tag="~" Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.DisplayName>
        <polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
            <ContentControl Content="'"  Tag="~" Style="{StaticResource ButtonContent}"/>
            <ContentControl Content="~"  Tag="'" Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
    </polarisWindowsControls:ShiftSensitiveKey>

    <polarisWindowsControls:ShiftSensitiveKey x:Key="QuertyKeyboardKeyExclamationMark" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_1}">
        <polarisWindowsControls:ShiftSensitiveKey.DisplayName>
            <ContentControl Content="1"  Tag="!" Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.DisplayName>
        <polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
            <ContentControl Content="1"  Tag="!" Style="{StaticResource ButtonContent}"/>
            <ContentControl Content="!"  Tag="1" Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
    </polarisWindowsControls:ShiftSensitiveKey>

    <polarisWindowsControls:ShiftSensitiveKey x:Key="QuertyKeyboardKeyAt" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_2}">
        <polarisWindowsControls:ShiftSensitiveKey.DisplayName>
            <ContentControl Content="2"  Tag="@" Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.DisplayName>
        <polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
            <ContentControl Content="2"  Tag="@" Style="{StaticResource ButtonContent}"/>
            <ContentControl Content="@"  Tag="2" Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
    </polarisWindowsControls:ShiftSensitiveKey>

    <polarisWindowsControls:ShiftSensitiveKey x:Key="QuertyKeyboardKeyPound" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_3}">
        <polarisWindowsControls:ShiftSensitiveKey.DisplayName>
            <ContentControl Content="3"  Tag="#" Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.DisplayName>
        <polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
            <ContentControl Content="3"  Tag="#" Style="{StaticResource ButtonContent}"/>
            <ContentControl Content="#"  Tag="3" Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
    </polarisWindowsControls:ShiftSensitiveKey>

    <polarisWindowsControls:ShiftSensitiveKey x:Key="QuertyKeyboardKeyDollar" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_4}">
        <polarisWindowsControls:ShiftSensitiveKey.DisplayName>
            <ContentControl Content="4"  Tag="$" Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.DisplayName>
        <polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
            <ContentControl Content="4"  Tag="$" Style="{StaticResource ButtonContent}"/>
            <ContentControl Content="$"  Tag="4" Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
    </polarisWindowsControls:ShiftSensitiveKey>

    <polarisWindowsControls:ShiftSensitiveKey x:Key="QuertyKeyboardKeyPercent" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_5}">
        <polarisWindowsControls:ShiftSensitiveKey.DisplayName>
            <ContentControl Content="5"  Tag="%" Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.DisplayName>
        <polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
            <ContentControl Content="5"  Tag="%" Style="{StaticResource ButtonContent}"/>
            <ContentControl Content="%"  Tag="5" Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
    </polarisWindowsControls:ShiftSensitiveKey>

    <polarisWindowsControls:ShiftSensitiveKey x:Key="QuertyKeyboardKeyCircumflex" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_6}">
        <polarisWindowsControls:ShiftSensitiveKey.DisplayName>
            <ContentControl Content="6"  Tag="^" Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.DisplayName>
        <polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
            <ContentControl Content="6"  Tag="^" Style="{StaticResource ButtonContent}"/>
            <ContentControl Content="^"  Tag="6" Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
    </polarisWindowsControls:ShiftSensitiveKey>

    <polarisWindowsControls:ShiftSensitiveKey x:Key="QuertyKeyboardKeyAmpersand" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_7}">
        <polarisWindowsControls:ShiftSensitiveKey.DisplayName>
            <ContentControl Content="7"  Tag="&amp;" Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.DisplayName>
        <polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
            <ContentControl Content="7"  Tag="&amp;" Style="{StaticResource ButtonContent}"/>
            <ContentControl Content="&amp;"  Tag="7" Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
    </polarisWindowsControls:ShiftSensitiveKey>

    <polarisWindowsControls:ShiftSensitiveKey x:Key="QuertyKeyboardKeyAsterik" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_8}">
        <polarisWindowsControls:ShiftSensitiveKey.DisplayName>
            <ContentControl Content="8"  Tag="*" Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.DisplayName>
        <polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
            <ContentControl Content="8"  Tag="*" Style="{StaticResource ButtonContent}"/>
            <ContentControl Content="*"  Tag="8" Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
    </polarisWindowsControls:ShiftSensitiveKey>

    <polarisWindowsControls:ShiftSensitiveKey x:Key="QuertyKeyboardKeyLeftParenthesis" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_9}">
        <polarisWindowsControls:ShiftSensitiveKey.DisplayName>
            <ContentControl Content="9"  Tag="(" Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.DisplayName>
        <polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
            <ContentControl Content="9"  Tag="(" Style="{StaticResource ButtonContent}"/>
            <ContentControl Content="("  Tag="9" Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
    </polarisWindowsControls:ShiftSensitiveKey>

    <polarisWindowsControls:ShiftSensitiveKey x:Key="QuertyKeyboardKeyRightParenthesis" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_0}">
        <polarisWindowsControls:ShiftSensitiveKey.DisplayName>
            <ContentControl Content="0"  Tag=")" Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.DisplayName>
        <polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
            <ContentControl Content="0"  Tag=")" Style="{StaticResource ButtonContent}"/>
            <ContentControl Content=")"  Tag="0" Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
    </polarisWindowsControls:ShiftSensitiveKey>

    <polarisWindowsControls:ShiftSensitiveKey x:Key="QuertyKeyboardKeyDash" KeyCode="{x:Static WindowsInput:VirtualKeyCode.OEM_MINUS}" >
        <polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
            <ContentControl Content="_"  Tag="-" Style="{StaticResource ButtonContent}"/>
            <ContentControl Content="-"  Tag="_" Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
        <polarisWindowsControls:ShiftSensitiveKey.DisplayName>
            <ContentControl Content="_"  Tag="-" Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.DisplayName>
    </polarisWindowsControls:ShiftSensitiveKey>

    <polarisWindowsControls:ShiftSensitiveKey x:Key="QuertyKeyboardKeyEquals" KeyCode="{x:Static WindowsInput:VirtualKeyCode.OEM_PLUS}" >
        <polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
            <ContentControl Content="="  Tag="+" Style="{StaticResource ButtonContent}"/>
            <ContentControl Content="+"  Tag="=" Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
        <polarisWindowsControls:ShiftSensitiveKey.DisplayName>
            <ContentControl Content="="  Tag="+" Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.DisplayName>
    </polarisWindowsControls:ShiftSensitiveKey>

    <polarisWindowsControls:VirtualKey x:Key="QuertyKeyboardKeyEnter" DisplayName="{StaticResource EnterButtonGeometry}" KeyCode="{x:Static WindowsInput:VirtualKeyCode.RETURN}" />
    <polarisWindowsControls:VirtualKey x:Key="QuertyKeyboardKeyEnter1" DisplayName="{StaticResource EnterButtonGeometry1}" KeyCode="{x:Static WindowsInput:VirtualKeyCode.RETURN}" />
    <polarisWindowsControls:VirtualKey x:Key="QuertyKeyboardKeyEnter2" DisplayName="{StaticResource EnterButtonGeometry2}" KeyCode="{x:Static WindowsInput:VirtualKeyCode.RETURN}" />

    <polarisWindowsControls:UserDefinedKey x:Key="QuertyKeyboardKeyExpandedKeyboard" Id="KBEXPAND" >
        <polarisWindowsControls:UserDefinedKey.DisplayName>
            <Image Source="{StaticResource KeyboardThumbBitmapImage}" Width="45" Height="19"/>
        </polarisWindowsControls:UserDefinedKey.DisplayName>
    </polarisWindowsControls:UserDefinedKey>

    <polarisWindowsControls:VirtualKey x:Key="QuertyKeyboardKeyBackspace" DisplayName="bksp" KeyCode="{x:Static WindowsInput:VirtualKeyCode.BACK}"/>

    <polarisWindowsControls:VirtualKey x:Key="QuertyKeyboardKeyTab" DisplayName="tab" KeyCode="{x:Static WindowsInput:VirtualKeyCode.TAB}" />

    <polarisWindowsControls:VirtualKey x:Key="QuertyKeyboardKeyDelete" DisplayName="del" KeyCode="{x:Static WindowsInput:VirtualKeyCode.DELETE}" />

    <polarisWindowsControls:TogglingModifierKey x:Key="QuertyKeyboardKeyCapitalizeLock" DisplayName="caps" KeyCode="{x:Static WindowsInput:VirtualKeyCode.CAPITAL}"/>

    <polarisWindowsControls:InstantaneousModifierKey x:Key="QuertyKeyboardKeyLeftShift" KeyCode="{x:Static WindowsInput:VirtualKeyCode.SHIFT}">
        <polarisWindowsControls:InstantaneousModifierKey.DisplayName>
            <Image Source="{StaticResource KeyboardShiftBitmapImage}" Width="33" Height="25"/>
        </polarisWindowsControls:InstantaneousModifierKey.DisplayName>
    </polarisWindowsControls:InstantaneousModifierKey>
    <polarisWindowsControls:InstantaneousModifierKey x:Key="QuertyKeyboardKeyRightShift" KeyCode="{x:Static WindowsInput:VirtualKeyCode.SHIFT}">
        <polarisWindowsControls:InstantaneousModifierKey.DisplayName>
            <Image Source="{StaticResource KeyboardShiftBitmapImage}" Width="33" Height="25"/>
        </polarisWindowsControls:InstantaneousModifierKey.DisplayName>
    </polarisWindowsControls:InstantaneousModifierKey>

    <polarisWindowsControls:InstantaneousModifierKey x:Key="QuertyKeyboardKeyLeftShift1" KeyCode="{x:Static WindowsInput:VirtualKeyCode.SHIFT}">
        <polarisWindowsControls:InstantaneousModifierKey.DisplayName>
            <Image Source="{StaticResource KeyboardShiftBitmapImage}" Width="33" Height="25"/>
        </polarisWindowsControls:InstantaneousModifierKey.DisplayName>
    </polarisWindowsControls:InstantaneousModifierKey>
    <polarisWindowsControls:InstantaneousModifierKey x:Key="QuertyKeyboardKeyRightShift1" KeyCode="{x:Static WindowsInput:VirtualKeyCode.SHIFT}">
        <polarisWindowsControls:InstantaneousModifierKey.DisplayName>
            <Image Source="{StaticResource KeyboardShiftBitmapImage}" Width="33" Height="25"/>
        </polarisWindowsControls:InstantaneousModifierKey.DisplayName>
    </polarisWindowsControls:InstantaneousModifierKey>

    <polarisWindowsControls:InstantaneousModifierKey x:Key="QuertyKeyboardKeyLeftShift2" KeyCode="{x:Static WindowsInput:VirtualKeyCode.SHIFT}">
        <polarisWindowsControls:InstantaneousModifierKey.DisplayName>
            <Image Source="{StaticResource KeyboardShiftBitmapImage}" Width="33" Height="25"/>
        </polarisWindowsControls:InstantaneousModifierKey.DisplayName>
    </polarisWindowsControls:InstantaneousModifierKey>
    <polarisWindowsControls:InstantaneousModifierKey x:Key="QuertyKeyboardKeyRightShift2" KeyCode="{x:Static WindowsInput:VirtualKeyCode.SHIFT}">
        <polarisWindowsControls:InstantaneousModifierKey.DisplayName>
            <Image Source="{StaticResource KeyboardShiftBitmapImage}" Width="33" Height="25"/>
        </polarisWindowsControls:InstantaneousModifierKey.DisplayName>
    </polarisWindowsControls:InstantaneousModifierKey>


    <polarisWindowsControls:UserDefinedKey x:Key="QuertyKeyboardKeyHideKeyboard" Id="KBHIDE" >
        <polarisWindowsControls:UserDefinedKey.DisplayName>
            <Image Source="{StaticResource KeyboardHideBitmapImage}" Width="46" Height="27"/>
        </polarisWindowsControls:UserDefinedKey.DisplayName>
    </polarisWindowsControls:UserDefinedKey>
    <polarisWindowsControls:UserDefinedKey x:Key="QuertyKeyboardKeyHideKeyboard1" Id="KBHIDE" >
        <polarisWindowsControls:UserDefinedKey.DisplayName>
            <Image Source="{StaticResource KeyboardHideBitmapImage}" Width="46" Height="27"/>
        </polarisWindowsControls:UserDefinedKey.DisplayName>
    </polarisWindowsControls:UserDefinedKey>
    <polarisWindowsControls:UserDefinedKey x:Key="QuertyKeyboardKeyHideKeyboard2" Id="KBHIDE" >
        <polarisWindowsControls:UserDefinedKey.DisplayName>
            <Image Source="{StaticResource KeyboardHideBitmapImage}" Width="46" Height="27"/>
        </polarisWindowsControls:UserDefinedKey.DisplayName>
    </polarisWindowsControls:UserDefinedKey>

    <polarisWindowsControls:ShiftSensitiveKey x:Key="QuertyKeyboardKeyLeftSquareBracket" KeyCode="{x:Static WindowsInput:VirtualKeyCode.OEM_4}">
        <polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
            <ContentControl Content="["  Style="{StaticResource ButtonContent}">
                <ContentControl.Tag>
                    <sys:String>{</sys:String>
                </ContentControl.Tag>
            </ContentControl>
            <ContentControl Tag="[" Style="{StaticResource ButtonContent}">
                <ContentControl.Content>
                    <sys:String>{</sys:String>
                </ContentControl.Content>
            </ContentControl>
        </polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
        <polarisWindowsControls:ShiftSensitiveKey.DisplayName>
            <ContentControl Content="["  Style="{StaticResource ButtonContent}">
                <ContentControl.Tag>
                    <sys:String>{</sys:String>
                </ContentControl.Tag>
            </ContentControl>
        </polarisWindowsControls:ShiftSensitiveKey.DisplayName>
    </polarisWindowsControls:ShiftSensitiveKey>

    <polarisWindowsControls:ShiftSensitiveKey x:Key="QuertyKeyboardKeyRightSquareBracket" KeyCode="{x:Static WindowsInput:VirtualKeyCode.OEM_6}">
        <polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
            <ContentControl Content="]"  Style="{StaticResource ButtonContent}">
                <ContentControl.Tag>
                    <sys:String>}</sys:String>
                </ContentControl.Tag>
            </ContentControl>
            <ContentControl Tag="]" Style="{StaticResource ButtonContent}">
                <ContentControl.Content>
                    <sys:String>}</sys:String>
                </ContentControl.Content>
            </ContentControl>
        </polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
        <polarisWindowsControls:ShiftSensitiveKey.DisplayName>
            <ContentControl Content="]"  Style="{StaticResource ButtonContent}">
                <ContentControl.Tag>
                    <sys:String>}</sys:String>
                </ContentControl.Tag>
            </ContentControl>
        </polarisWindowsControls:ShiftSensitiveKey.DisplayName>
    </polarisWindowsControls:ShiftSensitiveKey>

    <polarisWindowsControls:ShiftSensitiveKey x:Key="QuertyKeyboardKeyBackSlash" KeyCode="{x:Static WindowsInput:VirtualKeyCode.OEM_102}">
        <polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
            <ContentControl Content="\"  Tag="|" Style="{StaticResource ButtonContent}"/>
            <ContentControl Content="|"  Tag="\" Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
        <polarisWindowsControls:ShiftSensitiveKey.DisplayName>
            <ContentControl Content="\"  Tag="|" Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.DisplayName>
    </polarisWindowsControls:ShiftSensitiveKey>

    <polarisWindowsControls:ShiftSensitiveKey x:Key="QuertyKeyboardKeySemicolon" KeyCode="{x:Static WindowsInput:VirtualKeyCode.OEM_1}">
        <polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
            <ContentControl Content=";"  Tag=":" Style="{StaticResource ButtonContent}" />
            <ContentControl Content=":"  Tag=";" Style="{StaticResource ButtonContent}" />
        </polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
        <polarisWindowsControls:ShiftSensitiveKey.DisplayName>
            <ContentControl Content=";"  Tag=":" Style="{StaticResource ButtonContent}" />
        </polarisWindowsControls:ShiftSensitiveKey.DisplayName>
    </polarisWindowsControls:ShiftSensitiveKey>

    <polarisWindowsControls:ShiftSensitiveKey x:Key="QuertyKeyboardKeyApostrophe" KeyCode="{x:Static WindowsInput:VirtualKeyCode.OEM_7}">
        <polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
            <ContentControl Content="'"  Tag="&quot;" Style="{StaticResource ButtonContent}"/>
            <ContentControl Content="&quot;"  Tag="'" Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
        <polarisWindowsControls:ShiftSensitiveKey.DisplayName>
            <ContentControl Content="'"  Tag="&quot;" Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.DisplayName>
    </polarisWindowsControls:ShiftSensitiveKey>
    <polarisWindowsControls:ShiftSensitiveKey x:Key="QuertyKeyboardKeyApostrophe1" KeyCode="{x:Static WindowsInput:VirtualKeyCode.OEM_7}">
        <polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
            <ContentControl Content="'"  Tag="&quot;" Style="{StaticResource ButtonContent}"/>
            <ContentControl Content="&quot;"  Tag="'" Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
        <polarisWindowsControls:ShiftSensitiveKey.DisplayName>
            <ContentControl Content="'"  Tag="&quot;" Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.DisplayName>
    </polarisWindowsControls:ShiftSensitiveKey>

    <polarisWindowsControls:ShiftSensitiveKey x:Key="QuertyKeyboardKeyComma" KeyCode="{x:Static WindowsInput:VirtualKeyCode.OEM_COMMA}">
        <polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
            <ContentControl Content="," Tag="&lt;"  Style="{StaticResource ButtonContent}"/>
            <ContentControl Content="&lt;" Tag=","  Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
        <polarisWindowsControls:ShiftSensitiveKey.DisplayName>
            <ContentControl Content="," Tag="&lt;"  Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.DisplayName>
    </polarisWindowsControls:ShiftSensitiveKey>
    <polarisWindowsControls:ShiftSensitiveKey x:Key="QuertyKeyboardKeyComma1" KeyCode="{x:Static WindowsInput:VirtualKeyCode.OEM_COMMA}">
        <polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
            <ContentControl Content="," Tag="&lt;"  Style="{StaticResource ButtonContent}"/>
            <ContentControl Content="&lt;" Tag=","  Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
        <polarisWindowsControls:ShiftSensitiveKey.DisplayName>
            <ContentControl Content="," Tag="&lt;"  Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.DisplayName>
    </polarisWindowsControls:ShiftSensitiveKey>

    <polarisWindowsControls:ShiftSensitiveKey x:Key="QuertyKeyboardKeyPeriod" KeyCode="{x:Static WindowsInput:VirtualKeyCode.OEM_PERIOD}">
        <polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
            <ContentControl Content="." Tag="&gt;"  Style="{StaticResource ButtonContent}"/>
            <ContentControl Content="&gt;" Tag="."  Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
        <polarisWindowsControls:ShiftSensitiveKey.DisplayName>
            <ContentControl Content="." Tag="&gt;"  Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.DisplayName>
    </polarisWindowsControls:ShiftSensitiveKey>
    <polarisWindowsControls:ShiftSensitiveKey x:Key="QuertyKeyboardKeyPeriod1" KeyCode="{x:Static WindowsInput:VirtualKeyCode.OEM_PERIOD}">
        <polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
            <ContentControl Content="." Tag="&gt;"  Style="{StaticResource ButtonContent}"/>
            <ContentControl Content="&gt;" Tag="."  Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
        <polarisWindowsControls:ShiftSensitiveKey.DisplayName>
            <ContentControl Content="." Tag="&gt;"  Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.DisplayName>
    </polarisWindowsControls:ShiftSensitiveKey>

    <polarisWindowsControls:ShiftSensitiveKey x:Key="QuertyKeyboardKeySlash" KeyCode="{x:Static WindowsInput:VirtualKeyCode.OEM_2}">
        <polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
            <ContentControl Content="/" Tag="?"  Style="{StaticResource ButtonContent}"/>
            <ContentControl Content="?" Tag="/"  Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
        <polarisWindowsControls:ShiftSensitiveKey.DisplayName>
            <ContentControl Content="/" Tag="?"  Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.DisplayName>
    </polarisWindowsControls:ShiftSensitiveKey>
    <polarisWindowsControls:ShiftSensitiveKey x:Key="QuertyKeyboardKeySlash1" KeyCode="{x:Static WindowsInput:VirtualKeyCode.OEM_2}">
        <polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
            <ContentControl Content="/" Tag="?"  Style="{StaticResource ButtonContent}"/>
            <ContentControl Content="?" Tag="/"  Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.KeyDisplays>
        <polarisWindowsControls:ShiftSensitiveKey.DisplayName>
            <ContentControl Content="/" Tag="?"  Style="{StaticResource ButtonContent}"/>
        </polarisWindowsControls:ShiftSensitiveKey.DisplayName>
    </polarisWindowsControls:ShiftSensitiveKey>

    <polarisWindowsControls:VirtualKey x:Key="QuertyKeyboardKeyUpArrow" KeyCode="{x:Static WindowsInput:VirtualKeyCode.UP}">
        <polarisWindowsControls:VirtualKey.DisplayName>
            <Image Source="{StaticResource KeyboardArrowUpBitmapImage}" />
        </polarisWindowsControls:VirtualKey.DisplayName>
    </polarisWindowsControls:VirtualKey>
    <polarisWindowsControls:VirtualKey x:Key="QuertyKeyboardKeyDownArrow" KeyCode="{x:Static WindowsInput:VirtualKeyCode.DOWN}" >
        <polarisWindowsControls:VirtualKey.DisplayName>
            <Image Source="{StaticResource KeyboardArrowDownBitmapImage}" />
        </polarisWindowsControls:VirtualKey.DisplayName>
    </polarisWindowsControls:VirtualKey>
    <polarisWindowsControls:VirtualKey x:Key="QuertyKeyboardKeyLeftArrow" KeyCode="{x:Static WindowsInput:VirtualKeyCode.LEFT}" >
        <polarisWindowsControls:VirtualKey.DisplayName>
            <Image Source="{StaticResource KeyboardArrowLeftBitmapImage}" />
        </polarisWindowsControls:VirtualKey.DisplayName>
    </polarisWindowsControls:VirtualKey>
    <polarisWindowsControls:VirtualKey x:Key="QuertyKeyboardKeyRightArrow" KeyCode="{x:Static WindowsInput:VirtualKeyCode.RIGHT}" >
        <polarisWindowsControls:VirtualKey.DisplayName>
            <Image Source="{StaticResource KeyboardArrowRightBitmapImage}" />
        </polarisWindowsControls:VirtualKey.DisplayName>
    </polarisWindowsControls:VirtualKey>

    <polarisWindowsControls:VirtualKey x:Key="QuertyKeyboardKeyLeftArrow1" KeyCode="{x:Static WindowsInput:VirtualKeyCode.LEFT}" >
        <polarisWindowsControls:VirtualKey.DisplayName>
            <Image Source="{StaticResource KeyboardArrowLeftBitmapImage}" />
        </polarisWindowsControls:VirtualKey.DisplayName>
    </polarisWindowsControls:VirtualKey>
    <polarisWindowsControls:VirtualKey x:Key="QuertyKeyboardKeyRightArrow1" KeyCode="{x:Static WindowsInput:VirtualKeyCode.RIGHT}" >
        <polarisWindowsControls:VirtualKey.DisplayName>
            <Image Source="{StaticResource KeyboardArrowRightBitmapImage}" />
        </polarisWindowsControls:VirtualKey.DisplayName>
    </polarisWindowsControls:VirtualKey>

    <polarisWindowsControls:VirtualKey x:Key="QuertyKeyboardKeyLeftArrow2" KeyCode="{x:Static WindowsInput:VirtualKeyCode.LEFT}" >
        <polarisWindowsControls:VirtualKey.DisplayName>
            <Image Source="{StaticResource KeyboardArrowLeftBitmapImage}" />
        </polarisWindowsControls:VirtualKey.DisplayName>
    </polarisWindowsControls:VirtualKey>
    <polarisWindowsControls:VirtualKey x:Key="QuertyKeyboardKeyRightArrow2" KeyCode="{x:Static WindowsInput:VirtualKeyCode.RIGHT}" >
        <polarisWindowsControls:VirtualKey.DisplayName>
            <Image Source="{StaticResource KeyboardArrowRightBitmapImage}" />
        </polarisWindowsControls:VirtualKey.DisplayName>
    </polarisWindowsControls:VirtualKey>

    <polarisWindowsControls:StringKey x:Key="StringKeyExclamationMark" DisplayName="!" StringToSimulate="!"/>
    <polarisWindowsControls:StringKey x:Key="StringKeyAt" DisplayName="@" StringToSimulate="@"/>
    <polarisWindowsControls:StringKey x:Key="StringKeyPound" DisplayName="#" StringToSimulate="#"/>
    <polarisWindowsControls:StringKey x:Key="StringKeyDollar" DisplayName="$" StringToSimulate="$"/>
    <polarisWindowsControls:StringKey x:Key="StringKeyPercent" DisplayName="%" StringToSimulate="%"/>
    <polarisWindowsControls:StringKey x:Key="StringKeyCircumflex" DisplayName="^" StringToSimulate="^"/>
    <polarisWindowsControls:StringKey x:Key="StringKeyAmpersand" DisplayName="&amp;" StringToSimulate="&amp;"/>
    <polarisWindowsControls:StringKey x:Key="StringKeyMultiply" DisplayName="*" StringToSimulate="*"/>
    <polarisWindowsControls:StringKey x:Key="StringKeyLeftParenthesis" DisplayName="(" StringToSimulate="("/>
    <polarisWindowsControls:StringKey x:Key="StringKeyRightParenthesis" DisplayName=")" StringToSimulate=")"/>
    <polarisWindowsControls:StringKey x:Key="StringKeyTilde" DisplayName="'" StringToSimulate="'"/>
    <polarisWindowsControls:StringKey x:Key="StringKeyTittle" DisplayName="~" StringToSimulate="~"/>
    <polarisWindowsControls:StringKey x:Key="StringKeyLowerThan" DisplayName="&lt;" StringToSimulate="&lt;"/>
    <polarisWindowsControls:StringKey x:Key="StringKeyGreaterThan" DisplayName="&gt;" StringToSimulate="&gt;"/>
    <polarisWindowsControls:StringKey x:Key="StringKeySlash" DisplayName="/" StringToSimulate="/"/>
    <polarisWindowsControls:StringKey x:Key="StringKeySemiColon" DisplayName=";" StringToSimulate=";"/>
    <polarisWindowsControls:StringKey x:Key="StringKeyColon" DisplayName=":" StringToSimulate=":"/>
    <polarisWindowsControls:StringKey x:Key="StringKeyApostrophe" DisplayName="&apos;" StringToSimulate="&apos;"/>
    <polarisWindowsControls:StringKey x:Key="StringKeyQuote" DisplayName="&quot;" StringToSimulate="&quot;"/>
    <polarisWindowsControls:StringKey x:Key="StringKeyUnderscore" DisplayName="_" StringToSimulate="_"/>


    <!-- overrides keyboard resources -->


    <polarisWindowsControls:CaseSensitiveKey x:Key="QuertyKeyboardKeyQ" DisplayName="q" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_Q}">
        <polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
            <sys:String>q</sys:String>
            <sys:String>Q</sys:String>
        </polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
    </polarisWindowsControls:CaseSensitiveKey>
    <polarisWindowsControls:CaseSensitiveKey x:Key="QuertyKeyboardKeyW" DisplayName="w" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_W}">
        <polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
            <sys:String>w</sys:String>
            <sys:String>W</sys:String>
        </polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
    </polarisWindowsControls:CaseSensitiveKey>
    <polarisWindowsControls:CaseSensitiveKey x:Key="QuertyKeyboardKeyE" DisplayName="e" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_E}">
        <polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
            <sys:String>e</sys:String>
            <sys:String>E</sys:String>
        </polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
    </polarisWindowsControls:CaseSensitiveKey>
    <polarisWindowsControls:CaseSensitiveKey x:Key="QuertyKeyboardKeyR" DisplayName="r" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_R}">
        <polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
            <sys:String>r</sys:String>
            <sys:String>R</sys:String>
        </polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
    </polarisWindowsControls:CaseSensitiveKey>
    <polarisWindowsControls:CaseSensitiveKey x:Key="QuertyKeyboardKeyT" DisplayName="t" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_T}">
        <polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
            <sys:String>t</sys:String>
            <sys:String>T</sys:String>
        </polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
    </polarisWindowsControls:CaseSensitiveKey>
    <polarisWindowsControls:CaseSensitiveKey x:Key="QuertyKeyboardKeyY" DisplayName="y" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_Y}">
        <polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
            <sys:String>y</sys:String>
            <sys:String>Y</sys:String>
        </polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
    </polarisWindowsControls:CaseSensitiveKey>
    <polarisWindowsControls:CaseSensitiveKey x:Key="QuertyKeyboardKeyU" DisplayName="u" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_U}">
        <polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
            <sys:String>u</sys:String>
            <sys:String>U</sys:String>
        </polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
    </polarisWindowsControls:CaseSensitiveKey>
    <polarisWindowsControls:CaseSensitiveKey x:Key="QuertyKeyboardKeyI" DisplayName="i" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_I}">
        <polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
            <sys:String>i</sys:String>
            <sys:String>I</sys:String>
        </polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
    </polarisWindowsControls:CaseSensitiveKey>
    <polarisWindowsControls:CaseSensitiveKey x:Key="QuertyKeyboardKeyO" DisplayName="o" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_O}">
        <polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
            <sys:String>o</sys:String>
            <sys:String>O</sys:String>
        </polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
    </polarisWindowsControls:CaseSensitiveKey>
    <polarisWindowsControls:CaseSensitiveKey x:Key="QuertyKeyboardKeyP" DisplayName="p" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_P}">
        <polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
            <sys:String>p</sys:String>
            <sys:String>P</sys:String>
        </polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
    </polarisWindowsControls:CaseSensitiveKey>

    <polarisWindowsControls:CaseSensitiveKey x:Key="QuertyKeyboardKeyA" DisplayName="a" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_A}">
        <polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
            <sys:String>a</sys:String>
            <sys:String>A</sys:String>
        </polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
    </polarisWindowsControls:CaseSensitiveKey>
    <polarisWindowsControls:CaseSensitiveKey x:Key="QuertyKeyboardKeyS" DisplayName="s" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_S}">
        <polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
            <sys:String>s</sys:String>
            <sys:String>S</sys:String>
        </polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
    </polarisWindowsControls:CaseSensitiveKey>
    <polarisWindowsControls:CaseSensitiveKey x:Key="QuertyKeyboardKeyD" DisplayName="d" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_D}">
        <polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
            <sys:String>d</sys:String>
            <sys:String>D</sys:String>
        </polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
    </polarisWindowsControls:CaseSensitiveKey>
    <polarisWindowsControls:CaseSensitiveKey x:Key="QuertyKeyboardKeyF" DisplayName="f" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_F}">
        <polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
            <sys:String>f</sys:String>
            <sys:String>F</sys:String>
        </polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
    </polarisWindowsControls:CaseSensitiveKey>
    <polarisWindowsControls:CaseSensitiveKey x:Key="QuertyKeyboardKeyG" DisplayName="g" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_G}">
        <polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
            <sys:String>g</sys:String>
            <sys:String>G</sys:String>
        </polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
    </polarisWindowsControls:CaseSensitiveKey>
    <polarisWindowsControls:CaseSensitiveKey x:Key="QuertyKeyboardKeyH" DisplayName="h" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_H}">
        <polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
            <sys:String>h</sys:String>
            <sys:String>H</sys:String>
        </polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
    </polarisWindowsControls:CaseSensitiveKey>
    <polarisWindowsControls:CaseSensitiveKey x:Key="QuertyKeyboardKeyJ" DisplayName="j" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_J}">
        <polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
            <sys:String>j</sys:String>
            <sys:String>J</sys:String>
        </polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
    </polarisWindowsControls:CaseSensitiveKey>
    <polarisWindowsControls:CaseSensitiveKey x:Key="QuertyKeyboardKeyK" DisplayName="k" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_K}">
        <polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
            <sys:String>k</sys:String>
            <sys:String>K</sys:String>
        </polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
    </polarisWindowsControls:CaseSensitiveKey>
    <polarisWindowsControls:CaseSensitiveKey x:Key="QuertyKeyboardKeyL" DisplayName="l" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_L}">
        <polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
            <sys:String>l</sys:String>
            <sys:String>L</sys:String>
        </polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
    </polarisWindowsControls:CaseSensitiveKey>

    <polarisWindowsControls:CaseSensitiveKey x:Key="QuertyKeyboardKeyZ" DisplayName="z" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_Z}">
        <polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
            <sys:String>z</sys:String>
            <sys:String>Z</sys:String>
        </polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
    </polarisWindowsControls:CaseSensitiveKey>
    <polarisWindowsControls:CaseSensitiveKey x:Key="QuertyKeyboardKeyX" DisplayName="x" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_X}">
        <polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
            <sys:String>x</sys:String>
            <sys:String>X</sys:String>
        </polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
    </polarisWindowsControls:CaseSensitiveKey>
    <polarisWindowsControls:CaseSensitiveKey x:Key="QuertyKeyboardKeyC" DisplayName="c" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_C}">
        <polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
            <sys:String>c</sys:String>
            <sys:String>C</sys:String>
        </polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
    </polarisWindowsControls:CaseSensitiveKey>
    <polarisWindowsControls:CaseSensitiveKey x:Key="QuertyKeyboardKeyV" DisplayName="v" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_V}">
        <polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
            <sys:String>v</sys:String>
            <sys:String>V</sys:String>
        </polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
    </polarisWindowsControls:CaseSensitiveKey>
    <polarisWindowsControls:CaseSensitiveKey x:Key="QuertyKeyboardKeyB" DisplayName="b" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_B}">
        <polarisWindowsControls:CaseSensitiveKey.KeyDisplays>

            <sys:String>b</sys:String>
            <sys:String>B</sys:String>
        </polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
    </polarisWindowsControls:CaseSensitiveKey>
    <polarisWindowsControls:CaseSensitiveKey x:Key="QuertyKeyboardKeyN" DisplayName="n" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_N}">
        <polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
            <sys:String>n</sys:String>
            <sys:String>N</sys:String>
        </polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
    </polarisWindowsControls:CaseSensitiveKey>
    <polarisWindowsControls:CaseSensitiveKey x:Key="QuertyKeyboardKeyM" DisplayName="m" KeyCode="{x:Static WindowsInput:VirtualKeyCode.VK_M}">
        <polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
            <sys:String>m</sys:String>
            <sys:String>M</sys:String>
        </polarisWindowsControls:CaseSensitiveKey.KeyDisplays>
    </polarisWindowsControls:CaseSensitiveKey>

    <polarisWindowsControls:VirtualKey x:Key="QuertyKeyboardKeyLeftAlt" DisplayName="LALT"/>
    <polarisWindowsControls:VirtualKey x:Key="QuertyKeyboardKeySpace" DisplayName=" " KeyCode="{x:Static WindowsInput:VirtualKeyCode.SPACE}" />
    <polarisWindowsControls:VirtualKey x:Key="QuertyKeyboardKeyRightAlt" DisplayName="RALT"/>

    <polarisWindowsControls:TogglingModifierKey x:Key="QuertyKeyboardKeyNumLock" DisplayName="NUMLOCK" KeyCode="{x:Static WindowsInput:VirtualKeyCode.NUMLOCK}"/>
    <polarisWindowsControls:VirtualKey x:Key="QuertyKeyboardKeyNum0" DisplayName="0" KeyCode="{x:Static WindowsInput:VirtualKeyCode.NUMPAD0}" />
    <polarisWindowsControls:VirtualKey x:Key="QuertyKeyboardKeyNum1" DisplayName="1" KeyCode="{x:Static WindowsInput:VirtualKeyCode.NUMPAD1}" />
    <polarisWindowsControls:VirtualKey x:Key="QuertyKeyboardKeyNum2" DisplayName="2" KeyCode="{x:Static WindowsInput:VirtualKeyCode.NUMPAD2}" />
    <polarisWindowsControls:VirtualKey x:Key="QuertyKeyboardKeyNum3" DisplayName="3" KeyCode="{x:Static WindowsInput:VirtualKeyCode.NUMPAD3}" />
    <polarisWindowsControls:VirtualKey x:Key="QuertyKeyboardKeyNum4" DisplayName="4" KeyCode="{x:Static WindowsInput:VirtualKeyCode.NUMPAD4}" />
    <polarisWindowsControls:VirtualKey x:Key="QuertyKeyboardKeyNum5" DisplayName="5" KeyCode="{x:Static WindowsInput:VirtualKeyCode.NUMPAD5}" />
    <polarisWindowsControls:VirtualKey x:Key="QuertyKeyboardKeyNum6" DisplayName="6" KeyCode="{x:Static WindowsInput:VirtualKeyCode.NUMPAD6}" />
    <polarisWindowsControls:VirtualKey x:Key="QuertyKeyboardKeyNum7" DisplayName="7" KeyCode="{x:Static WindowsInput:VirtualKeyCode.NUMPAD7}" />
    <polarisWindowsControls:VirtualKey x:Key="QuertyKeyboardKeyNum8" DisplayName="8" KeyCode="{x:Static WindowsInput:VirtualKeyCode.NUMPAD8}" />
    <polarisWindowsControls:VirtualKey x:Key="QuertyKeyboardKeyNum9" DisplayName="9" KeyCode="{x:Static WindowsInput:VirtualKeyCode.NUMPAD9}" />
    <polarisWindowsControls:VirtualKey x:Key="QuertyKeyboardKeyMultiply" DisplayName="*" KeyCode="{x:Static WindowsInput:VirtualKeyCode.MULTIPLY}"/>
    <polarisWindowsControls:VirtualKey x:Key="QuertyKeyboardKeyAdd" DisplayName="+" KeyCode="{x:Static WindowsInput:VirtualKeyCode.ADD}" />
    <polarisWindowsControls:VirtualKey x:Key="QuertyKeyboardKeySubtract" DisplayName="-" KeyCode="{x:Static WindowsInput:VirtualKeyCode.SUBTRACT}" />
    <polarisWindowsControls:VirtualKey x:Key="QuertyKeyboardKeyDivide" DisplayName="/" KeyCode="{x:Static WindowsInput:VirtualKeyCode.DIVIDE}" />
    <polarisWindowsControls:VirtualKey x:Key="QuertyKeyboardKeyDecimal" DisplayName="." KeyCode="{x:Static WindowsInput:VirtualKeyCode.DECIMAL}" />

    <polarisWindowsControls:UserDefinedKey x:Key="QuertyKeyboardKeyShowKeyboard" Id="KBSHOW" DisplayName="Show" />
    <polarisWindowsControls:UserDefinedKey x:Key="QuertyKeyboardKeyCompactKeyboard" Id="KBCOMPACT" DisplayName="Compact"/>
    <polarisWindowsControls:UserDefinedKey x:Key="QuertyKeyboardKeyNumericKeyboard" Id="KBNUMERIC" DisplayName="Numeric"/>
    <polarisWindowsControls:UserDefinedKey x:Key="QuertyKeyboardKeyLock" Id="KBLOCK" DisplayName="Lock"/>
    <polarisWindowsControls:UserDefinedKey x:Key="QuertyKeyboardKeyUnlock" Id="KBUNLOCK" DisplayName="Unlock"/>

    <!--QuertyKeyboard QuertyKeyboard-->
    <Style TargetType="{x:Type polarisWindowsControls:QuertyKeyboard}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type polarisWindowsControls:QuertyKeyboard}">
                    <Viewbox>
                        <VisualStateManager.VisualStateGroups>
                            <VisualStateGroup x:Name="KeyboardLayoutStates">
                                <VisualState x:Name="SplittedKeyboard">
                                    <Storyboard>
                                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="NumericKeyboardPanel" Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <SplineDoubleKeyFrame KeyTime="00:00:00.1330000" Value="0"/>
                                        </DoubleAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="NumericKeyboardPanel" Storyboard.TargetProperty="(UIElement.Visibility)">
                                            <DiscreteObjectKeyFrame KeyTime="00:00:00.1330000" Value="{x:Static Visibility.Collapsed}"/>
                                        </ObjectAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="SplittedKeyboardPanel" Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <SplineDoubleKeyFrame KeyTime="00:00:00.1330000" Value="1"/>
                                        </DoubleAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="SplittedKeyboardPanel" Storyboard.TargetProperty="(UIElement.Visibility)">
                                            <DiscreteObjectKeyFrame KeyTime="00:00:00.000000" Value="{x:Static Visibility.Visible}"/>
                                        </ObjectAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="StandardKeyboardPanel" Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <SplineDoubleKeyFrame KeyTime="00:00:00.1330000" Value="0"/>
                                        </DoubleAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="StandardKeyboardPanel" Storyboard.TargetProperty="(UIElement.Visibility)">
                                            <DiscreteObjectKeyFrame KeyTime="00:00:00.1330000" Value="{x:Static Visibility.Collapsed}"/>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="StandardKeyboard">
                                    <Storyboard>
                                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="NumericKeyboardPanel" Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <SplineDoubleKeyFrame KeyTime="00:00:00.1330000" Value="0"/>
                                        </DoubleAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="NumericKeyboardPanel" Storyboard.TargetProperty="(UIElement.Visibility)">
                                            <DiscreteObjectKeyFrame KeyTime="00:00:00.1330000" Value="{x:Static Visibility.Collapsed}"/>
                                        </ObjectAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="SplittedKeyboardPanel" Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <SplineDoubleKeyFrame KeyTime="00:00:00.1330000" Value="0"/>
                                        </DoubleAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="SplittedKeyboardPanel" Storyboard.TargetProperty="(UIElement.Visibility)">
                                            <DiscreteObjectKeyFrame KeyTime="00:00:00.1330000" Value="{x:Static Visibility.Collapsed}"/>
                                        </ObjectAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="StandardKeyboardPanel" Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <SplineDoubleKeyFrame KeyTime="00:00:00.1330000" Value="1"/>
                                        </DoubleAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="StandardKeyboardPanel" Storyboard.TargetProperty="(UIElement.Visibility)">
                                            <DiscreteObjectKeyFrame KeyTime="00:00:00.0000000" Value="{x:Static Visibility.Visible}"/>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="NumericKeyboard">
                                    <Storyboard>
                                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="NumericKeyboardPanel" Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <SplineDoubleKeyFrame KeyTime="00:00:00.1330000" Value="1"/>
                                        </DoubleAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="NumericKeyboardPanel" Storyboard.TargetProperty="(UIElement.Visibility)">
                                            <DiscreteObjectKeyFrame KeyTime="00:00:00.000000" Value="{x:Static Visibility.Visible}"/>
                                        </ObjectAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="SplittedKeyboardPanel" Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <SplineDoubleKeyFrame KeyTime="00:00:00.1330000" Value="0"/>
                                        </DoubleAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="SplittedKeyboardPanel" Storyboard.TargetProperty="(UIElement.Visibility)">
                                            <DiscreteObjectKeyFrame KeyTime="00:00:00.1330000" Value="{x:Static Visibility.Collapsed}"/>
                                        </ObjectAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="StandardKeyboardPanel" Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <SplineDoubleKeyFrame KeyTime="00:00:00.1330000" Value="0"/>
                                        </DoubleAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="StandardKeyboardPanel" Storyboard.TargetProperty="(UIElement.Visibility)">
                                            <DiscreteObjectKeyFrame KeyTime="00:00:00.1330000" Value="{x:Static Visibility.Collapsed}"/>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
                        </VisualStateManager.VisualStateGroups>
                        <Grid x:Name="KeyboardLayout" Margin="8" Width="1366">
                            <Rectangle Fill="#FF6F6F6F" RadiusX="5" RadiusY="5"/>
                            <Grid x:Name="LayoutRoot" Margin="4">

                                <Grid x:Name="NumericKeyboardPanel" Grid.Row="1" d:IsHidden="True">
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="Auto" />
                                        <ColumnDefinition Width="*" />
                                        <ColumnDefinition Width="Auto" />
                                    </Grid.ColumnDefinitions>
                                    <Grid x:Name="NumericLeft">
                                        <Grid.RowDefinitions>
                                            <RowDefinition />
                                            <RowDefinition />
                                            <RowDefinition />
                                            <RowDefinition />
                                        </Grid.RowDefinitions>

                                        <Grid Grid.ColumnSpan="6">
                                            <Grid.ColumnDefinitions>
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                            </Grid.ColumnDefinitions>
                                            <Button Grid.Column="0" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyEsc}" Content="Esc" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Column="1" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyNum1}" Content="1" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Column="2" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyNum2}" Content="2" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Column="3" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyNum3}" Content="3" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Column="4" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyNum4}" Content="4" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Column="5" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyNum5}" Content="5" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                        </Grid>

                                        <Grid Grid.Row="1">
                                            <Grid.ColumnDefinitions>
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                            </Grid.ColumnDefinitions>
                                            <Button Grid.Column="0" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyTab}" Content="Tab" Style="{StaticResource KeyboardSplittedButtonStyle}" Width="70"/>
                                            <Button Grid.Column="1" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource StringKeyExclamationMark}" Content="!" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Column="2" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource StringKeyAt}" Content="@" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Column="3" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource StringKeyPound}" Content="#" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Column="4" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource StringKeyDollar}" Content="$" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Column="5" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource StringKeyPercent}" Content="%" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                        </Grid>

                                        <Grid Grid.Row="2">
                                            <Grid.ColumnDefinitions>
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                            </Grid.ColumnDefinitions>
                                            <ToggleButton 
                                                IsChecked="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type polarisWindowsControls:QuertyKeyboard}}, Path=DataContext.IsShiftEnabled,Mode=TwoWay}"
                                                Grid.Column="0" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyLeftShift}" Content="LShift" Style="{StaticResource KeyboardImageToggleButtonStyle}" Width="80" />
                                            <Button Grid.Column="1" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource StringKeyTilde}" Content="'" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Column="2" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource StringKeyTittle}" Content="~" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Column="3" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource StringKeyLowerThan}" Content="&lt;" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Column="4" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource StringKeyGreaterThan}" Content="&gt;" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Column="5" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource StringKeySlash}" Content="/" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                        </Grid>

                                        <Grid Grid.Row="3">
                                            <Grid.ColumnDefinitions>
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="*" />
                                            </Grid.ColumnDefinitions>
                                            <Button Grid.Row="3" Grid.Column="0" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyLock}" Content="Lock" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="3" Grid.Column="0" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyUnlock}" Content="Unlock" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="3" Grid.Column="1" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyCompactKeyboard}" Content="Compact" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="3" Grid.Column="2" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyExpandedKeyboard}" Content="Expand" Style="{StaticResource KeyboardButtonStyle}"/>
                                            <Button Grid.Row="3" Grid.Column="3" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeySpace}" Content=" " Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                        </Grid>
                                    </Grid>

                                    <Grid x:Name="NumericRight" Grid.Column="2">
                                        <Grid.ColumnDefinitions>
                                            <ColumnDefinition />
                                            <ColumnDefinition />
                                            <ColumnDefinition />
                                            <ColumnDefinition />
                                            <ColumnDefinition />
                                            <ColumnDefinition />
                                        </Grid.ColumnDefinitions>
                                        <Grid.RowDefinitions>
                                            <RowDefinition />
                                            <RowDefinition />
                                            <RowDefinition />
                                            <RowDefinition />
                                        </Grid.RowDefinitions>

                                        <Grid Grid.ColumnSpan="6" HorizontalAlignment="Right">
                                            <Grid.ColumnDefinitions>
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                            </Grid.ColumnDefinitions>
                                            <Button Grid.Row="0" Grid.Column="0" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyNum6}" Content="6" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="0" Grid.Column="1" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyNum7}" Content="7" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="0" Grid.Column="2" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyNum8}" Content="8" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="0" Grid.Column="3" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyNum9}" Content="9" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="0" Grid.Column="4" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyNum0}" Content="0" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="0" Grid.Column="5" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyBackspace}" Content="bksp" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                        </Grid>

                                        <Grid Grid.Row="1" Grid.ColumnSpan="6" HorizontalAlignment="Right">
                                            <Grid.ColumnDefinitions>
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                            </Grid.ColumnDefinitions>
                                            <Button Grid.Row="1" Grid.Column="0" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource StringKeyCircumflex}" Content="^" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="1" Grid.Column="1" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource StringKeyAmpersand}" Content="&amp;" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="1" Grid.Column="2" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource StringKeyMultiply}" Content="*" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="1" Grid.Column="3" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource StringKeyLeftParenthesis}" Content="(" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="1" Grid.Column="4" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource StringKeyRightParenthesis}" Content=")" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="1" Grid.Column="5" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyX}" Content="XX" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="1" Grid.Column="6" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyEnter}" Content="ENTER" Style="{StaticResource KeyboardSplittedButtonStyle}" Width="70" />
                                        </Grid>

                                        <Grid Grid.Row="2" Grid.ColumnSpan="6" HorizontalAlignment="Right">
                                            <Grid.ColumnDefinitions>
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                            </Grid.ColumnDefinitions>
                                            <Button Grid.Row="2" Grid.Column="0" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource StringKeySemiColon}" Content=";" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="2" Grid.Column="1" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource StringKeyColon}" Content=":" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="2" Grid.Column="2" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource StringKeyApostrophe}" Content="&apos;" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="2" Grid.Column="3" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource StringKeyQuote}" Content="&quot;" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="2" Grid.Column="4" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource StringKeyUnderscore}" Content="_" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <ToggleButton 
                                                IsChecked="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type polarisWindowsControls:QuertyKeyboard}}, Path=DataContext.IsShiftEnabled,Mode=TwoWay}"
                                                Grid.Row="2" Grid.Column="5" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyRightShift}" Content="Rshift" Style="{StaticResource KeyboardImageToggleButtonStyle}" Width="80" />
                                        </Grid>

                                        <Grid Grid.Row="3" Grid.ColumnSpan="6">
                                            <Grid.ColumnDefinitions>
                                                <ColumnDefinition Width="*" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                            </Grid.ColumnDefinitions>
                                            <Button Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeySpace}" Content=" " Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Column="1" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyLeftArrow}" Content="Left" Style="{StaticResource KeyboardButtonStyle}" />
                                            <Button Grid.Column="2" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyRightArrow}" Content="Right" Style="{StaticResource KeyboardButtonStyle}" />
                                            <Button Grid.Column="3" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyHideKeyboard}" Content="Hide" Style="{StaticResource KeyboardButtonStyle}" />
                                        </Grid>

                                    </Grid>
                                </Grid>
                                <Grid x:Name="SplittedKeyboardPanel" Grid.Row="1" d:IsHidden="True">
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="Auto" />
                                        <ColumnDefinition Width="*" />
                                        <ColumnDefinition Width="Auto" />
                                    </Grid.ColumnDefinitions>
                                    <Grid x:Name="SplittedLeft">
                                        <Grid.RowDefinitions>
                                            <RowDefinition />
                                            <RowDefinition />
                                            <RowDefinition />
                                            <RowDefinition />
                                        </Grid.RowDefinitions>

                                        <Grid Grid.ColumnSpan="6">
                                            <Grid.ColumnDefinitions>
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                            </Grid.ColumnDefinitions>
                                            <Button Grid.Column="0" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyEsc}" Content="Esc" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Column="1" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyQ}" Content="q" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Column="2" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyW}" Content="w" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Column="3" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyE}" Content="w" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Column="4" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyR}" Content="" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Column="5" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyT}" Content="T" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                        </Grid>

                                        <Grid Grid.Row="1">
                                            <Grid.ColumnDefinitions>
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                            </Grid.ColumnDefinitions>
                                            <Button Grid.Column="0" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyTab}" Content="Tab" Style="{StaticResource KeyboardSplittedButtonStyle}" Width="70"/>
                                            <Button Grid.Column="1" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyA}" Content="A" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Column="2" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyS}" Content="S" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Column="3" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyD}" Content="D" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Column="4" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyF}" Content="F" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Column="5" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyG}" Content="G" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                        </Grid>

                                        <Grid Grid.Row="2">
                                            <Grid.ColumnDefinitions>
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                            </Grid.ColumnDefinitions>
                                            <ToggleButton 
                                                IsChecked="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type polarisWindowsControls:QuertyKeyboard}}, Path=DataContext.IsShiftEnabled,Mode=TwoWay}"
                                                Grid.Column="0" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyLeftShift1}" Content="LShift" Style="{StaticResource KeyboardImageToggleButtonStyle}" Width="80" />
                                            <Button Grid.Column="1" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyZ}" Content="Z" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Column="2" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyX}" Content="X" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Column="3" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyC}" Content="C" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Column="4" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyV}" Content="V" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Column="5" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyB}" Content="B" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                        </Grid>

                                        <Grid Grid.Row="3">
                                            <Grid.ColumnDefinitions>
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="*" />
                                            </Grid.ColumnDefinitions>
                                            <Button Grid.Row="3" Grid.Column="0" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyLock}" Content="Lock" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="3" Grid.Column="0" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyUnlock}" Content="Unlock" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="3" Grid.Column="1" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyCompactKeyboard}" Content="Compact" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="3" Grid.Column="2" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyNumericKeyboard}" Content="Numeric" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="3" Grid.Column="3" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeySpace}" Content=" " Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                        </Grid>
                                    </Grid>

                                    <Grid x:Name="SplittedRight" Grid.Column="2">
                                        <Grid.ColumnDefinitions>
                                            <ColumnDefinition />
                                            <ColumnDefinition />
                                            <ColumnDefinition />
                                            <ColumnDefinition />
                                            <ColumnDefinition />
                                            <ColumnDefinition />
                                        </Grid.ColumnDefinitions>
                                        <Grid.RowDefinitions>
                                            <RowDefinition />
                                            <RowDefinition />
                                            <RowDefinition />
                                            <RowDefinition />
                                        </Grid.RowDefinitions>

                                        <Grid Grid.ColumnSpan="6" HorizontalAlignment="Right">
                                            <Grid.ColumnDefinitions>
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                            </Grid.ColumnDefinitions>
                                            <Button Grid.Row="0" Grid.Column="0" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyY}" Content="Y" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="0" Grid.Column="1" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyU}" Content="U" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="0" Grid.Column="2" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyI}" Content="I" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="0" Grid.Column="3" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyO}" Content="O" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="0" Grid.Column="4" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyP}" Content="P" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="0" Grid.Column="5" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyBackspace}" Content="bksp" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                        </Grid>

                                        <Grid Grid.Row="1" Grid.ColumnSpan="6" HorizontalAlignment="Right">
                                            <Grid.ColumnDefinitions>
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                            </Grid.ColumnDefinitions>
                                            <Button Grid.Row="1" Grid.Column="0" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyG}" Content="G" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="1" Grid.Column="1" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyH}" Content="H" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="1" Grid.Column="2" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyJ}" Content="J" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="1" Grid.Column="3" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyK}" Content="K" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="1" Grid.Column="4" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyL}" Content="L" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="1" Grid.Column="5" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyApostrophe}" Content="&apos;" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="1" Grid.Column="6" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyEnter1}" Content="ENTER" Style="{StaticResource KeyboardSplittedButtonStyle}" Width="70" />
                                        </Grid>

                                        <Grid Grid.Row="2" Grid.ColumnSpan="6" HorizontalAlignment="Right">
                                            <Grid.ColumnDefinitions>
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                            </Grid.ColumnDefinitions>
                                            <Button Grid.Row="2" Grid.Column="0" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyN}" Content="N" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="2" Grid.Column="1" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyM}" Content="M" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="2" Grid.Column="2" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyComma}" Content="," Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="2" Grid.Column="3" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyPeriod}" Content="." Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Row="2" Grid.Column="4" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeySlash}" Content="/" Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <ToggleButton 
                                                IsChecked="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type polarisWindowsControls:QuertyKeyboard}}, Path=DataContext.IsShiftEnabled,Mode=TwoWay}"
                                                Grid.Row="2" Grid.Column="5" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyRightShift1}" Content="Rshift" Style="{StaticResource KeyboardImageToggleButtonStyle}" Width="80" />
                                        </Grid>

                                        <Grid Grid.Row="3" Grid.ColumnSpan="6">
                                            <Grid.ColumnDefinitions>
                                                <ColumnDefinition Width="*" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                                <ColumnDefinition Width="Auto" />
                                            </Grid.ColumnDefinitions>
                                            <Button Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeySpace}" Content=" " Style="{StaticResource KeyboardSplittedButtonStyle}" />
                                            <Button Grid.Column="1" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyLeftArrow1}" Content="Left" Style="{StaticResource KeyboardButtonStyle}" />
                                            <Button Grid.Column="2" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyRightArrow1}" Content="Right" Style="{StaticResource KeyboardButtonStyle}" />
                                            <Button Grid.Column="3" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyHideKeyboard1}" Content="Hide" Style="{StaticResource KeyboardButtonStyle}" />
                                        </Grid>

                                    </Grid>
                                </Grid>
                                <Grid x:Name="StandardKeyboardPanel" Grid.Row="1">
                                    <Grid.RowDefinitions>
                                        <RowDefinition />
                                        <RowDefinition />
                                        <RowDefinition />
                                        <RowDefinition />
                                        <RowDefinition />
                                    </Grid.RowDefinitions>

                                    <Grid x:Name="StandardLine1">
                                        <Grid.ColumnDefinitions>
                                            <ColumnDefinition Width="Auto"/>
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="*" />
                                        </Grid.ColumnDefinitions>
                                        <Button Grid.Column="0" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyEsc}" Content="ESCAPE" Style="{StaticResource KeyboardButtonStyle}" Width="108" />
                                        <Button Grid.Column="1" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyTilde}" Content="'" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="2" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyExclamationMark}" Content="1" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="3" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyAt}" Content="2" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="4" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyPound}" Content="3" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="5" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyDollar}" Content="4" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="6" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyPercent}" Content="5" Style="{StaticResource KeyboardButtonStyle}"  />
                                        <Button Grid.Column="7" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyCircumflex}" Content="6" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="8" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyAmpersand}" Content="7" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="9" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyAsterik}" Content="8" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="10" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyLeftParenthesis}" Content="9" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="11" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyRightParenthesis}" Content="0" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="12" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyDash}" Content="-" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="13" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyEquals}" Content="=" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="14" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyBackspace}" Content="Backspace" Style="{StaticResource KeyboardButtonStyle}"/>
                                    </Grid>

                                    <Grid x:Name="StandardLine2" Grid.Row="1">
                                        <Grid.ColumnDefinitions>
                                            <ColumnDefinition Width="Auto"/>
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="*" />
                                        </Grid.ColumnDefinitions>
                                        <Button Grid.Column="0" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyTab}" Content="Tab" Style="{StaticResource KeyboardButtonStyle}" Width="150" />
                                        <Button Grid.Column="1" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyQ}" Content="Q" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="2" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyW}" Content="W" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="3" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyE}" Content="E" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="4" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyR}" Content="R" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="5" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyT}" Content="T" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="6" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyY}" Content="Y" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="7" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyU}" Content="U" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="8" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyI}" Content="I" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="9" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyO}" Content="O" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="10" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyP}" Content="P" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="11" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyLeftSquareBracket}" Content="[" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="12" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyRightSquareBracket}" Content="]" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="13" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyBackSlash}" Content="\" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="14" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyDelete}" Content="Del" Style="{StaticResource KeyboardButtonStyle}" />
                                    </Grid>

                                    <Grid x:Name="StandardLine3" Grid.Row="2">
                                        <Grid.ColumnDefinitions>
                                            <ColumnDefinition Width="Auto"/>
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="*" />
                                        </Grid.ColumnDefinitions>
                                        <ToggleButton 
                                            Grid.Column="0" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyCapitalizeLock}" Content="Caps Lock" Style="{StaticResource KeyboardToggleButtonStyle}" Width="190" />
                                        <Button Grid.Column="1" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyA}" Content="A" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="2" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyS}" Content="S" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="3" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyD}" Content="D" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="4" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyF}" Content="F" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="5" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyG}" Content="G" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="6" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyH}" Content="H" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="7" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyJ}" Content="J" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="8" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyK}" Content="K" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="9" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyL}" Content="L" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="10" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeySemicolon}" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="11" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyApostrophe1}" Content="&apos;" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="12" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyEnter2}" Content="Enter" Style="{StaticResource KeyboardButtonStyle}" />
                                    </Grid>

                                    <Grid x:Name="StandardLine4" Grid.Row="3">
                                        <Grid.ColumnDefinitions>
                                            <ColumnDefinition Width="Auto"/>
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="*" />
                                        </Grid.ColumnDefinitions>
                                        <ToggleButton 
                                            IsChecked="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type polarisWindowsControls:QuertyKeyboard}}, Path=DataContext.IsShiftEnabled,Mode=TwoWay}"
                                            Grid.Column="0" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyLeftShift2}" Content="LShift" HorizontalContentAlignment="Left" Style="{StaticResource KeyboardImageToggleButtonStyle}" Width="225" />
                                        <Button Grid.Column="1" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyZ}" Content="Z" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="2" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyX}" Content="X" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="3" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyC}" Content="C" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="4" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyV}" Content="V" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="5" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyB}" Content="B" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="6" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyN}" Content="N" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="7" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyM}" Content="M" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="8" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyComma1}" Content="," Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="9" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyPeriod1}" Content="." Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="10" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeySlash1}" Content="/" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="11" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyUpArrow}" Content="Up" Style="{StaticResource KeyboardButtonStyle}" />
                                        <ToggleButton 
                                            IsChecked="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type polarisWindowsControls:QuertyKeyboard}}, Path=DataContext.IsShiftEnabled,Mode=TwoWay}"
                                            Grid.Column="12" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyRightShift2}" Content="RShift" HorizontalContentAlignment="Right" Style="{StaticResource KeyboardImageToggleButtonStyle}" />
                                    </Grid>

                                    <Grid x:Name="StandardLine5" Grid.Row="4">
                                        <Grid.ColumnDefinitions>
                                            <ColumnDefinition Width="Auto"/>
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="*" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                        </Grid.ColumnDefinitions>
                                        <Button Grid.Column="0" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyLock}" Content="KeyLock" Style="{StaticResource KeyboardButtonStyle}" Width="110" />
                                        <Button Grid.Column="1" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyExpandedKeyboard}" Content="Expand" Style="{StaticResource KeyboardButtonStyle}" Width="110" />
                                        <Button Grid.Column="2" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeySpace}" Content=" " Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="3" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyLeftArrow2}" Content="Left" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="5" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyDownArrow}" Content="Down" Style="{StaticResource KeyboardButtonStyle}" />
                                        <Button Grid.Column="6" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyRightArrow2}" Content="Right" Style="{StaticResource KeyboardButtonStyle}" />
                                        <!--<Button Grid.Column="7" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyRightArrow}" Content="Right" Style="{StaticResource KeyboardButtonStyle}" />
	                        				<Button Grid.Column="8" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyShowKeyboard}" Content="Show" Style="{StaticResource KeyboardButtonStyle}" />
	                        				<Button Grid.Column="9" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyHideKeyboard}" Content="" Style="{StaticResource KeyboardButtonStyle}" />
	                        				<Button Grid.Column="10" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyExpandedKeyboard}" Content="Hide" Style="{StaticResource KeyboardButtonStyle}" />
	                        				<Button Grid.Column="11" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyCompactKeyboard}" Content="Compact" Style="{StaticResource KeyboardButtonStyle}" />-->
                                        <Button Grid.Column="12" Focusable="False" polarisWindowsControls:QuertyKeyboard.VirtualKey="{StaticResource QuertyKeyboardKeyHideKeyboard2}" Content="Hide" Style="{StaticResource KeyboardButtonStyle}" Width="133" />
                                    </Grid>
                                </Grid>
                            </Grid>
                        </Grid>
                    </Viewbox>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
    <!--QuertyKeyboard QuertyKeyboard-->
</ResourceDictionary>